<?php

/*
 *  Created by: Dikkehein <Clemens Wijnekus, c.wijnekus@gmail.com>s
 */

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Ap_model extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    public function alle_actiepunten_voor_kampjaar($jaar) {
        $this->db->from('actiepunt');
        $this->db->join('ap_gebruiker', 'actiepunt.id_ap = ap_gebruiker.id_ap', 'INNER');
        $this->db->join('gebruiker', 'gebruiker.id = ap_gebruiker.id_gebruiker', 'INNER');
        $this->db->where('kampjaar', $jaar);
        $query = $this->db->get();
        $results = $query->result_array();

        $new_result = array(); //this will contains your desired result
        foreach ($results as $key => $result) {
            $index = $this->get_index($new_result, $result['id_ap']);
            //you need a function. see bellow get_index function
            if ($index === false) {
                $new_result[] = array('id_ap' => $result['id_ap'], 'beschrijving' => $result['beschrijving'], 'deadline' => $result['deadline'], 'aangemaakt' => $result['aangemaakt'], 'status' => $result['status'], 'gebruikers' => array($result['voornaam']));
            } else {
                $new_result[$index]['gebruikers'][] = $result['voornaam'];
            }
        }

        return $new_result;
    }

    function get_index($array, $task_id) {
        foreach ($array as $index => $a) {
            if ($a['id_ap'] == $task_id) {
                return $index;
            }
        }
        return false;
    }

    public function aanmaken($data) {
        if ($this->db->insert('actiepunt', $data)) {
            return $this->db->insert_id();
        } else {
            return 0;
        }
    }

    public function koppel($data) {
        if ($this->db->insert('ap_gebruiker', $data)) {
            return true;
        } else {
            return false;
        }
    }

    public function checkAp($id) {
        $this->db->where('id_ap', $id);
        if($this->db->update('actiepunt', array('status' => 1))) {
            return true;
        } else {
            return false;
        }
    }
    
    public function uncheckAp($id) {
        $this->db->where('id_ap', $id);
        if($this->db->update('actiepunt', array('status' => 0))) {
            return true;
        } else {
            return false;
        }
    }

}